import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.util.*;
/**
 * No actua
 * 
 * @author Araujo Lara Zahaira Lorena
 * @version 2012
 */
public class Tiempo extends Actor
{
    Date cont;      //hace referencia a un objeto de tipo Date para almacenar el tiempo inicial
    Date cont2;     //hace referencia a un objeto de tipo Date para almacenar el tiempo final
    int tiempo;
    int t;
    private boolean band=false;
    long tiempoActual;
    /**
     * Constructor para la clase Cronometro
     */
    public Tiempo(int p,int tipo)
    {
       tiempo=p;
       t=tipo;
        cont = null;
        this.setImage(new GreenfootImage(" Tiempo:"+tiempo
                              ,30,java.awt.Color.ORANGE
                              ,null));
    }
    /**
     * Metodo que se encarga de mandar llamar a las
     * actualizaciones de los valores de los contadores
     */
    public void act()
    {
 
            if(cont == null)
            {
                this.inicializa();
                this.actualizaCrono();
            }
             this.actualizaCrono();

    }    
    /**
     * Se encarga de inicializar el contador para tener
     * una referencia de tiempo inicial
     */
    public void inicializa()
    {
        cont = new Date();
    }
    /**
     * Actualiza el cronometro cada segundo
     */
    public void actualizaCrono()
    {
        chavo cha;
        donRamon ramon;
        Letrero let;
        Mundo mundo=(Mundo)getWorld();
        cha=mundo.regresaChavo();
        ramon=mundo.regresaRamon();
        cont2 = new Date();
        
        tiempoActual= tiempo-(cont2.getTime() - cont.getTime())/1000;
        
        if(t==1)
        {
            this.setImage(new GreenfootImage(" Tiempo Chavo:  "+
                               String.valueOf(tiempo-(cont2.getTime() - cont.getTime())/1000)+" "
                              ,30,java.awt.Color.ORANGE
                              ,null));
                          
        }
        if(t==2)
        {
            this.setImage(new GreenfootImage(" Tiempo Don Ramon:"+
                               String.valueOf(tiempo-(cont2.getTime() - cont.getTime())/1000)+" "
                              ,30,java.awt.Color.ORANGE
                              ,null));
                          
        }
        if(t==3)
        {
            this.setImage(new GreenfootImage(" Tiempo Conge:"+
                               String.valueOf(tiempo-(cont2.getTime() - cont.getTime())/1000)+" "
                              ,30,java.awt.Color.ORANGE
                              ,null));
                          
        }
        if(t==4)
        {
            this.setImage(new GreenfootImage(" Tiempo Choque:"+
                               String.valueOf(tiempo-(cont2.getTime() - cont.getTime())/1000)+" "
                              ,30,java.awt.Color.ORANGE
                              ,null));
                          
        }
         if(t==5)
        {
            this.setImage(new GreenfootImage(" Tiempo Trampa:"+
                               String.valueOf(tiempo-(cont2.getTime() - cont.getTime())/1000)+" "
                              ,30,java.awt.Color.ORANGE
                              ,null));
                          
        }
         if(tiempo-(cont2.getTime() - cont.getTime())/1000==0&&t==3)
        {
            cha.actualizaBand(false,1);
                          
        }
         if(tiempo-(cont2.getTime() - cont.getTime())/1000==0&&t==4)
        {
            ramon.actualizaBand(false,1);
                          
        }
         if(tiempo-(cont2.getTime() - cont.getTime())/1000==0&&t==5)
        {
            cha.actualizaBand(false,1);
                          
        }
    
    }
    /**
     * Regresa tiempo actual de la clase Tiempo
     */ 
   public long regresaTiempo()
   {
        
        return tiempoActual;
   }
    /**
     * Incrementa el tiempo de un reloj en especifico
     * @param valor esta variable es un valor en espesifico que se le agrega al otro objetro tiempo
     */
   public void incrementaTiempo(int valor) 
   {
         tiempo=tiempo+valor;
          this.setImage(new GreenfootImage(" Tiempo Don Ramon:"+
                               String.valueOf((tiempo-(cont2.getTime() - cont.getTime())/1000))+" "
                              ,30,java.awt.Color.ORANGE
                              ,null));
       
   }
    /**
     * Decrementa el tiempo de un objeto reloj en especifico
     * @valor esta variable es un valor en espesifico que se decrementa  a otro objetro tiempo
     */
   public void decrementaTiempo(int valor) 
   {
       tiempo=tiempo-valor;
         this.setImage(new GreenfootImage(" Tiempo Don Ramon:"+
                               String.valueOf(tiempo-(cont2.getTime() - cont.getTime())/1000)+" "
                              ,30,java.awt.Color.ORANGE
                              ,null));
   }
  

}